function getQueryString(){
	var query = window.location.search.substring(1);
	var params = query.split('&');
	var map = {};
	var p = null;
	for(var i=0; i<params.length; i++){
		p = params[i].split('=');
		map[p[0]] = p[1];
		p = null;
	}
	if(params != '' && params.length > 0){
		return map;
	}else{
		return null;
	}
}

function buildPageLinks(pageRange, id){
	var links = '';
	for (var i=0;i<pageRange.length;i++){
		links += '<a class="end" href="#?pagina='+ pageRange[i] +'" onclick="loadPage('+ pageRange[i] +', this);">'+ pageRange[i] +'</a>&nbsp;';
	}
	$('[id='+id+']').append(links);
}

//funcao deve ser sobrescrita na página que utiliza makeRows, retornando o id da tabela
function getTableId(){}

function showLoading(){
	$('<div style="padding: 4px; background-color: lightred; line-height: 30px; width: 110px; position: absolute; top: 0px; right: 0px; font-weight: bold;" id="loading">Carregando...</div>').appendTo('body');
}

function hideLoading(){
	$('[id=loading]').fadeOut('fast');
	$('[id=loading]').remove();
}

function colocarMensagemSucesso(msg){
    jQuery('[id=message-panel]').css({
    'border':'1px solid #8FA52D', 
    'line-height':'30px',
    'padding-left':'10px',
    'background-color':'#EFF7D4',
    'margin-bottom':'10px'
    }).text(msg).append('. [<a href="#" onclick="removerMensagem();">fechar</a>]').show();
}

function removerMensagem(){
    jQuery('[id=message-panel]').fadeOut('slow', function(){
        jQuery('[id=message-panel]').replaceWith('<div id="message-panel"></div>');
    });
}

/**
 * Define variaveis globais.
 */
var ID_MESSAGE_PANEL   = '#message_panel';

/**
 * Retorna o id da grid de modelos salvos.
 * @return Id da grid.
 */
function getTableId() {
	return '#modelos-grid';
}

/**
 * Carrega a grid de modelos.
 */
function loadGridModelos(){
	jQuery(getTableId()).jqGrid( {
		url : getUrlListar(),
		datatype : "json",
		colNames : [ 'Código', 'Descrição', 'Editar' ],
		colModel : [ 
		{
			name  : 'id',
			index : 'id'
		}, 
		{
			name  : 'descricao',
			index : 'descricao',
			width : 400
		},
		{
			name  : 'editar',
			index : 'editar',
			width : 55
		}
		]
	});
}

function fecharMessagePanel(){
	$(ID_MESSAGE_PANEL).html('');
	$(ID_MESSAGE_PANEL).attr('class','hide');
}

/**
 * Coloca uma mensagem no painel de mensagens da página.
 */
function putMessage(objMessage){
	$(ID_MESSAGE_PANEL).html(objMessage.message + ' [<a href="#" onclick="fecharMessagePanel();">fechar</a>]');
	$(ID_MESSAGE_PANEL).attr('class', objMessage.type + ' prepend-top');
}

/**
 * Executa as funções quando DOM estiver pronto.
 */
jQuery(document).ready(function() {
	//loadGridModelos();
});